package com.hlkj.pay.app.merchant.ext.impl.gtzfpay.dto.req;

import lombok.Data;

@Data
public class GtzfPayOrderRequest {

    /** 商户所在国通系统内机构号（或虚拟机构号） */
    private String agetId;

    /** 商户所在国通系统内商户号 */
    private String custId;

    /** 该订单号需要唯一，最大长度40，只能由数字，大小写字母构成 */
    private String orderNo;

    /** 单位分，国通系统内记录至流水（原订单交易金额） */
    private Integer txamt;

    /** 根据微信、支付宝、银联给出的官方文档获取，微信是openid，支付宝是userId（以 2088 开头），银联用户标识看前往对接前准备-“获取银联用户标识”接口获取 */
    private String openid;

    /** 1.微信支付（小程序） 2.支付宝支付 3.银联支付 */
    private String payWay;

    /** IP地址 */
    private String ip;

    /** 长度不能超过64个字符 */
    private String title;

    /** 长度不能超过32 */
    private String driveNo;

    /** 微信支付必传 */
    private String wxAppid;

    /** 微信支付必传，5公众号 8小程序。（京东白条可传，因白条是基于微信公众号或小程序来跳转白条支付的，未传默认为公众号） */
    private String traType;

    /** 微信支付，0-无限制，1-不能使用信用卡 */
    private String limitPay;

    /** 支付宝支付必传 */
    private String zfbappid;

    /** 禁用渠道,用户不可用指定渠道支付，多个渠道以逗号分割。支付宝支持禁用支付渠道列表 */
    private String zfbDisablePayChannels;

    /** 银联支付 */
    private String qrCode;

    /** 银联支付，收款二维码为动态码时，则上送值为0；当收款二维码为静态码时，则上送值为1 */
    private String qrCodeType;

    /** 上传京东白条分期期数，则走京东白条下单。当前仅支持3、6、12。注意上方 支付方式要传 3.银联支付 */
    private String jdbtFqNum;

    /** 客户登录信息 */
    private String custLogin;

    /** 备注 */
    private String remark;

    /** 可传店员标识 */
    private String operator;

    /** 消费者设备支付定位，例：119.411869 */
    private String latitude;

    /** 消费者设备支付定位，例：119.411869 */
    private String longitude;

    /** 有使用国通音箱的时候传输可指定音箱播报 */
    private String spNo;

    /** 0不播报 1:播报，默认1，播报 */
    private String speakerSwitch;

    /** 用于银联交易上送服务商机构PID使用 */
    private String fpid;

    /** 未传输时默认15，最小1分钟，最大值15分钟，单位（分）。以订单生成时间起，如10:15:00发起下单，则10:31:00点击无法支付订单失效 */
    private Integer outTime;

    /** 未传时默认根据单项目配置异步地址进行通知，传输时根据请求异步地址进行通知，注：1.地址需提前报备国通进行转化，解析失败按照项目配置地址通知；2、不支持动态地址 */
    private String asyncNotify;

    /** 单位%，支持小数点后两位，特殊项目需平台配置相关权限时生效，用于计算该笔交易实际手续费费率值 */
    private String realTimeRate;

    /** 单位%，支持小数点后三位，特殊项目需平台配置相关权限时生效，用于计算该笔交易自动提现时的实际D0提现费率 */
    private String realTimeD0Rate;

    /** 0：否1 是，不传默认0 */
    private String limitOpenid;

    /** （服务商自有平台优惠劵体系）机构需单独权限配置。 有优惠券信息时候，优惠券编号，实际优惠金额，优惠券面额三个字段必传 */
    private String disInfo;

    /** （服务商自有平台优惠劵体系）单位分。机构需单独权限配置。有优惠券信息时候，优惠券编号，实际优惠金额，优惠券面额三个字段必传 */
    private Integer disTxamt;

    /** （服务商自有平台优惠劵体系）单位分。机构需单独权限配置。有优惠券信息时候，优惠券编号，实际优惠金额，优惠券面额三个字段必传 */
    private Integer codeAmt;

    /** 用于微信支付。该字段主要用于商户携带订单的自定义数据，限制127字符 */
    private String wxAttach;

    /** 时间戳 */
    private String timeStamp;

    /** 默认传：1.0.0 */
    private String version;

    /** 签名 */
    private String sign;
}
